package com.example.JCheckBox;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * @Author 郅占伟
 * @ClassName MyJCeckBox
 * @Description TODO
 * @Date 2024年05月18日
 * @Version: 1.0
 */
public class MyJCheckBox extends JFrame {

    public MyJCheckBox() {
        JCheckBox italic;
        JCheckBox bold;
        JLabel jLabel;

        // 创建一个JLabel,标签文本居中对齐
        jLabel = new JLabel("请选择字体样式",JLabel.CENTER);
        // 设置标签文本的字体
        jLabel.setFont(new Font("宋体",Font.PLAIN,20));
        this.add(jLabel);

        JPanel jPanel = new JPanel(); // 创建一个JPanel面板
        // 创建两个JCheckBox复选框
        italic = new JCheckBox("斜体");
        bold = new JCheckBox("黑体");

        // 为复选框定义ActionListener事件监听器
        ActionListener listener = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                int mode = 0;
                // 斜体被选中
                if (italic.isSelected()) {
                    mode += Font.ITALIC;
                }

                // 黑体被选中
                if (bold.isSelected()) {
                    mode +=  Font.BOLD;
                }

                // 设置JLabel的字体样式
                jLabel.setFont(new Font("宋体",mode,20));

            }
        };
        // 为两个复选框添加ActionListener事件监听器
        italic.addActionListener(listener);
        bold.addActionListener(listener);

        // 将两个复选框添加到JPanel面板中
        jPanel.add(italic);
        jPanel.add(bold);

        // 将SOUTH区域设置为jPanel面板
        this.add(jPanel,BorderLayout.SOUTH);

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(1600,1000);
        this.setLocation(300,200);
        this.setVisible(true);
    }

}
